<?php

  /*
    注册 后端
  */

  // 1. 接受前端传递来的信息
  $username = $_POST['username'];
  $password = $_POST['password'];
  $nickname = $_POST['nickname'];

  // 2. 验证一下用户名是否存在
  $sql = "SELECT * FROM `zpw` WHERE `username`='$username'";

  $link = mysqli_connect('localhost', 'root', '88888888', 'users');

  $res = mysqli_query($link, $sql);

  // 因为是查询, 需要解析
  $data = mysqli_fetch_all($res, MYSQLI_ASSOC);

  // 判断 $data 的长度
  // 如果有长度说明, 说明根据这个用户名查询到数据了, 说明用户名占用了
  if (count($data)) {
    // 注册失败
    $arr = [
      "message" => "注册失败, 该用户名已经被占用",
      "code" => 2
    ];

    echo json_encode($arr);

    // 打断 PHP 代码的继续执行
    exit;
  }

  // 如果用户名占用, 这里的代码就不需要执行了
  // 3. 把用户名密码昵称插入数据库
  $sql2 = "INSERT INTO `zpw` (`username`, `password`, `nickname`) VALUES('$username', '$password', '$nickname')";

  $res2 = mysqli_query($link, $sql2);

  // 插入语句不需要解析
  // 这个 mysqli_fetch_all 方法的第一个参数, 必须接受的是 mysql 的查询结果
  // 但是你给了我一个 布尔值
  // $data2 = mysqli_fetch_all($res2, MYSQLI_ASSOC);

  // 直接判断结果返回
  if ($res2) {
    $arr = [
      "message" => "注册成功",
      "code" => 1
    ];
  } else {
    $arr = [
      "message" => "注册失败, 请联系管理员",
      "code" => 0
    ];
  }

  // 返回结果
  echo json_encode($arr);

?>
